package com.hj.monitor.domain.service;

import com.hj.monitor.domain.model.entity.MonitorDataEntity;
import com.hj.monitor.domain.model.entity.MonitorDataMapEntity;
import com.hj.monitor.domain.model.entity.MonitorFlowDesignerEntity;
import com.hj.monitor.domain.model.valobj.MonitorTreeConfigVO;
import ognl.OgnlException;

import java.util.List;

/**
 * ILOG 分析服务
 *
 * @author 黄健
 * @date 2024/12/05
 */
public interface ILogAnalyticalService {

    /**
     * 进行分析
     *
     * @param systemName 系统名称
     * @param className  类名
     * @param methodName 方法名称
     * @param logList    日志列表
     * @throws OgnlException ognl 异常
     */
    void doAnalytical(String systemName, String className, String methodName, List<String> logList) throws OgnlException;

    /**
     * 查询监视器数据映射实体列表
     *
     * @return list<Monitor Data Map 实体>
     */
    List<MonitorDataMapEntity> queryMonitorDataMapEntityList();

    /**
     * Query Monitor 流数据查询
     *
     * @param monitorId 监视器 ID
     * @return 监控树配置 vo
     */
    MonitorTreeConfigVO queryMonitorFlowData(String monitorId);

    /**
     * 查询监控数据实体列表
     *
     * @param monitorDataEntity 监视数据实体
     * @return list<Monitor 数据实体>
     */
    List<MonitorDataEntity> queryMonitorDataEntityList(MonitorDataEntity monitorDataEntity);

    /**
     * 更新 Monitor 流设计器
     *
     * @param monitorFlowDesignerEntity 监视流设计器实体
     */
    void updateMonitorFlowDesigner(MonitorFlowDesignerEntity monitorFlowDesignerEntity);
}
